<template>
    <div>
        <el-container>
            <el-header class="homeHeader">
                <div class="title">云e办</div>
                <el-dropdown class="userInfo" @command="commandHandle">
                    <span class="el-dropdown-link">
                        {{ user.name
                        }}<i
                            ><img
                                src="../assets/images/header.jpg"
                                alt="用户头像"
                        /></i>
                    </span>
                    <el-dropdown-menu slot="dropdown">
                        <el-dropdown-item command="userInfo"
                            >个人中心</el-dropdown-item
                        >
                        <el-dropdown-item command="setting"
                            >设置</el-dropdown-item
                        >
                        <el-dropdown-item command="logout"
                            >注销登录</el-dropdown-item
                        >
                    </el-dropdown-menu>
                </el-dropdown>
            </el-header>
            <el-container>
                <el-aside width="200px">
                    <el-menu router unique-opened>
                        <!-- 从this.$router.options.routes中获取路由表中的路由信息 -->
                        <el-submenu
                            :index="index + ''"
                            v-for="(item, index) in routes"
                            :key="index"
                            v-if="!item.hidden"
                        >
                            <template slot="title"
                                ><i
                                    :class="item.iconCls"
                                    style="color: #1accff; margin-right: 5px"
                                ></i
                                >{{ item.name }}</template
                            >
                            <el-menu-item-group>
                                <el-menu-item
                                    :index="children.path"
                                    v-for="(children, i) in item.children"
                                    :key="i"
                                    >{{ children.name }}</el-menu-item
                                >
                            </el-menu-item-group>
                        </el-submenu>
                    </el-menu>
                </el-aside>
                <el-main>
                    <el-breadcrumb
                        separator-class="el-icon-arrow-right"
                        v-if="this.$router.currentRoute.path != '/home'"
                    >
                        <el-breadcrumb-item :to="{ path: '/home' }"
                            >首页</el-breadcrumb-item
                        >
                        <el-breadcrumb-item>{{
                            this.$router.currentRoute.name
                        }}</el-breadcrumb-item>
                    </el-breadcrumb>
                    <div
                        class="homeWelcome"
                        v-if="this.$router.currentRoute.path == '/home'"
                    >
                        欢迎来到云e办系统！
                    </div>
                    <!-- 页面展示内容区域 -->
                    <router-view class="homeRouterView"></router-view>
                </el-main>
            </el-container>
        </el-container>
    </div>
</template>

<script>
export default {
    data() {
        return {
            user: JSON.parse(window.sessionStorage.getItem("user")),
        };
    },
    mounted() {
        console.log(this.user);
    },
    computed: {
        routes() {
            return this.$store.state.routes;
        },
    },
    methods: {
        // 下拉列表事件
        commandHandle(command) {
            if (command == "userInfo") {
                this.$message.warning("获取用户信息失败");
            } else if (command == "setting") {
                this.$message.warning("弹出设置框失败");
            } else if (command == "logout") {
                // 注销提示框
                this.$confirm("此操作将永久注销登录, 是否继续?", "提示", {
                    confirmButtonText: "确定",
                    cancelButtonText: "取消",
                    type: "warning",
                })
                    .then(() => {
                        // 注销登录
                        this.postRequest("/logout");
                        // 清空用户信息
                        window.sessionStorage.removeItem("token");
                        window.sessionStorage.removeItem("user");
                        // 跳转为登录页
                        this.$router.replace("/");
                        this.$store.commit("initRoutes");
                    })
                    .catch(() => {
                        this.$message({
                            type: "info",
                            message: "已取消删除",
                        });
                    });
            }
        },
    },
};
</script>

<style scoped>
.homeHeader {
    background: #409eff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 15px;
    box-sizing: border-box;
}
.title {
    font-size: 30px;
    font-family: 楷体;
    color: white;
}
.homeHeader .userInfo {
    cursor: pointer;
}
.el-dropdown-link {
    display: flex;
    align-items: center;
}
.el-dropdown-link img {
    width: 48px;
    height: 48px;
    border-radius: 24px;
    margin-left: 10px;
}
.homeWelcome {
    font-size: 30px;
    text-align: center;
    font-family: 华文楷体;
    color: #409eff;
    padding-top: 50px;
}
.homeRouterView {
    margin-top: 15px;
}
</style>
